package com.mark.admin.service.impl.commfilter;

import com.mark.model.admin.dtos.CommonDto;
import com.mark.model.admin.dtos.CommonWhereDto;
import com.mark.model.admin.pojos.AdUser;

/**
 * @Description :  通用过滤的过滤类  后置增强类
 * @Author :  Markburt
 * @CreateDate :  2020/3/8$ 上午 12:15$
 * @UpdateUser :  Markburt
 * @UpdateDate :  2020/3/8$ 上午 12:15$
 * @UpdateRemark :  Project Build
 * @Version :  1.0
 */
public interface BaseCommonFilter {

    /**
     * 后面列出
     * @param user
     * @param dto
     */
    void doListAfter(AdUser user, CommonDto dto);

    /**
     * 更新时间
     * @param user
     * @param dto
     */
    void doUpdateAfter(AdUser user, CommonDto dto);

    /**
     * 后面插入
     * @param user
     * @param dto
     */
    void doInsertAfter(AdUser user, CommonDto dto);

    /**
     * 删除之后
     * @param user
     * @param dto
     */
    void doDeleteAfter(AdUser user, CommonDto dto);

    /**
     * 获取更新字段里面的值
     * @param filed
     * @param dto
     * @return
     */
    default CommonWhereDto findUpdateValue(String filed, CommonDto dto){
        if(dto!=null){
            for (CommonWhereDto cw : dto.getSets()) {
                if(filed.equals(cw.getFiled())){
                    return cw;
                }
            }
        }
        return null;
    }

    /**
     * 获取查询字段里面的值
     * @param filed
     * @param dto
     * @return
     */
    default CommonWhereDto findWhereValue(String filed,CommonDto dto){
        if(dto!=null){
            for (CommonWhereDto cw : dto.getWhere()) {
                if(filed.equals(cw.getFiled())){
                    return cw;
                }
            }
        }
        return null;
    }
}
